abseil.git
5 years agoRemove endian-sensitivity from Abseil's RNG
Benjamin Barenblat [Tue, 9 Feb 2021 19:41:06 +0000 (19:41 +0000)]
Remove endian-sensitivity from Abseil's RNG

Forwarded: yes
Applied-Upstream: https://github.com/abseil/abseil-cpp/commit/c36d825d9a5443f81d2656685ae021d6326da90c

Ensure that the Abseil random number generator produces identical output
on both big- and little-endian platforms by byte-swapping appropriately
on big-endian systems.

The author works at Google. Upstream applied this patch as Piper
revision 355635051 and exported it to GitHub; the Applied-Upstream URL
above points to the exported commit.

Gbp-Pq: Name endian-random.diff

5 years agoRemove endian-sensitivity from hash slow path
Benjamin Barenblat [Tue, 9 Feb 2021 19:41:06 +0000 (19:41 +0000)]
Remove endian-sensitivity from hash slow path

Forwarded: yes
Applied-Upstream: https://github.com/abseil/abseil-cpp/commit/9c6a50fdd80bb39fabd95faeda84f04062685ff3

Prior to this commit, the Abseil hash fast path was endian-agnostic, but
the slow path assumed a little-endian platform. Change the slow path to
be endian-correct, ensuring that values produced by the fast and slow
paths are equal even on big-endian systems.

The author works at Google. Upstream applied this patch as Piper revision
355424258 and exported it to GitHub; the Applied-Upstream URL above points to
the exported commit.

Gbp-Pq: Name endian-hash.diff

5 years agoAvoid libgcc -NaN narrowing bug
Benjamin Barenblat [Tue, 9 Feb 2021 19:41:06 +0000 (19:41 +0000)]
Avoid libgcc -NaN narrowing bug

Forwarded: yes
Applied-Upstream: https://github.com/abseil/abseil-cpp/commit/1bae23e32ba1f1af7c7d1488a69a351ec96dc98d

When testing -NaN parsing, avoid narrowing -NaN from double to float. This
avoids a bug in libgcc (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98251).

The author works at Google. Upstream applied this patch as Piper revision
347654751 and exported it to GitHub; the Applied-Upstream URL above points to
the exported commit.

Gbp-Pq: Name nan-narrowing.diff

5 years agoIgnore missing CPU frequency on more architectures
Benjamin Barenblat [Tue, 9 Feb 2021 19:41:06 +0000 (19:41 +0000)]
Ignore missing CPU frequency on more architectures

Forwarded: yes
Applied-Upstream: https://github.com/abseil/abseil-cpp/commit/1918ad2ae38aa32c74b558b322479a8efdd76363

Linux on MIPS, PA-RISC, RISC-V, and SystemZ doesn’t expose the nominal CPU
frequency via /sys, so don’t worry if `NominalCPUFrequency` returns 1.0 on those
platforms.

Some POWER machines expose the CPU frequency; others do not. Since we can’t
predict which type of machine the tests will run on, simply disable testing for
`NominalCPUFrequency` on POWER.

The author works at Google. Upstream applied this patch as Piper revision
347079873 and exported it to GitHub; the Applied-Upstream URL above points to
the exported commit.

Gbp-Pq: Name cpu-frequency.diff

5 years agoUse libatomic if necessary
Benjamin Barenblat [Tue, 9 Feb 2021 19:41:06 +0000 (19:41 +0000)]
Use libatomic if necessary

Bug-Debian: https://bugs.debian.org/973492

On some architectures, notably armel, Abseil needs symbols defined in
libatomic. Abseil does not currently have a well-developed system to
declare external library dependencies, so just have the linker determine
if anything needs libatomic and add the DT_NEEDED entry where necessary.

Gbp-Pq: Name latomic.diff

5 years agoWork around broken std::hash on s390x
Benjamin Barenblat [Tue, 9 Feb 2021 19:41:06 +0000 (19:41 +0000)]
Work around broken std::hash on s390x

Forwarded: no
Bug-Debian: https://bugs.debian.org/977638

On s390x, std::hash hashes large classes of data to the same value, which
violates assumptions made by the Abseil tests. #ifdef out the test code that
depends on those assumptions.

Gbp-Pq: Name std-hash.diff

5 years agoFix build on hppa
John David Anglin [Tue, 9 Feb 2021 19:41:06 +0000 (19:41 +0000)]
Fix build on hppa

Bug-Debian: https://bugs.debian.org/971768
Reviewed-by: Benjamin Barenblat <bbaren@debian.org>
Gbp-Pq: Name fix-hppa.diff

5 years agoSet package configuration options
Benjamin Barenblat [Tue, 9 Feb 2021 19:41:06 +0000 (19:41 +0000)]
Set package configuration options

Forwarded: not-needed

Configure Abseil for Debian.

  - Set the SONAME appropriately.

  - To minimize the possibility of future ABI breakage, treat absl::any,
    absl::optional, absl::string_view, and absl::variant as their own types
    (rather than aliases for the std:: versions), and compile everything in an
    inline namespace.

  - Enable upstream's hardened build mode.

  - Disable Intel SSE2 on i386, since Debian supports some i386 processors
    without that extension. Keep it enabled on amd64, since all amd64 processors
    have it.

  - Disable Intel SSSE3 entirely, since no i386 processor supports it and Debian
    supports amd64 processors without it.

Gbp-Pq: Name configure.diff

5 years agoabseil (0~20200923.3-2) unstable; urgency=medium
Benjamin Barenblat [Tue, 9 Feb 2021 19:41:06 +0000 (19:41 +0000)]
abseil (0~20200923.3-2) unstable; urgency=medium

  * Correct string formatting on POWER.

[dgit import unpatched abseil 0~20200923.3-2]

5 years agoImport abseil_0~20200923.3-2.debian.tar.xz
Benjamin Barenblat [Tue, 9 Feb 2021 19:41:06 +0000 (19:41 +0000)]
Import abseil_0~20200923.3-2.debian.tar.xz

[dgit import tarball abseil 0~20200923.3-2 abseil_0~20200923.3-2.debian.tar.xz]

5 years agoImport abseil_0~20200923.3.orig.tar.gz
Benjamin Barenblat [Mon, 8 Feb 2021 20:04:52 +0000 (20:04 +0000)]
Import abseil_0~20200923.3.orig.tar.gz

[dgit import orig abseil_0~20200923.3.orig.tar.gz]